Scroll to navigation

HIER(7) Руководство программиста Linux HIER(7)

ИМЯ

hier - описание иерархии файловой системы

ОПИСАНИЕ

Типичная система Linux имеет, кроме прочих, следующие каталоги:

/
Корневой каталог. С него начинается всё дерево каталогов.
/bin
Каталог, содержащий исполняемые программы, необходимые для работы в однопользовательском режиме и для запуска или ремонта системы.
/boot
Содержит статические файлы загрузчика системы. В этом каталоге содержатся файлы, необходимые во время загрузки системы. Установщик карты и файлы настройки должны находиться в /sbin и /etc.
/dev
Специальные файлы и файлы устройств, ссылающиеся на физические устройства. См. mknod(1).
/etc
Содержит файлы настройки машины. Некоторые большие пакеты программ, например X11, могут иметь свои собственные подкаталоги в /etc. Общесистемные файлы настройки могут быть размещены либо в этом каталоге, либо в /usr/etc. Тем не менее, программы всегда должны искать эти файлы в /etc, и у вас могут быть ссылки на эти файлы в /usr/etc.
/etc/opt
Файлы настройки дополнительных приложений узла, установленных в /opt.
/etc/sgml
Этот каталог содержит файлы настроек SGML и XML (необязательный).
/etc/skel
При создании новой учётной записи пользователя файлы из этого каталога, как правило, копируются в домашний каталог пользователя.
/etc/X11
Файлы настроек оконной системы X11 (необязательный).
/home
Содержит домашние каталоги пользователей, если они расположены на этой машине. Его структура зависит от администратора системы.
/lib
Этот каталог должен содержать общие библиотеки, необходимые для загрузки системы и запуска команд, содержащихся в корневой файловой системе.
/media
Этот каталог содержит точки монтирования для съёмных носителей, таких как CD, DVD или USB.
/mnt
Этот каталог является точкой для временного монтирования файловых систем. В некоторых дистрибутивах /mnt содержит подкаталоги, предназначенные для использования в качестве точек временного монтирования нескольких файловых систем.
/opt
Этот каталог содержит дополнительные пакеты со статическими файлами.
/proc
Точка монтирования файловой системы proc, предоставляющей пользователю доступ к информации о запущенных процессах и ядре. Это псевдофайловая система более подробно описана в proc(5).
/root
Этот каталог является домашним для пользователя root (необязательный).
/sbin
Как и /bin, содержит команды, необходимые для запуска системы, но, как правило, не запускаемые обычными пользователями.
/srv
В каталоге содержится информация, которую обрабатывает данная система.
/tmp
Этот каталог содержит временные файлы, которые можно удалить без всяких проблем в любое время, например, по расписанию или при загрузке системы.
/usr
К этому каталогу обычно монтируется отдельный раздел. В нём должны содержаться общие, предназначенные только для чтения данные, так что он может быть смонтирован несколькими машинами, работающими в Linux.
/usr/X11R6
Система X-Window, версия 11, выпуск 6 (необязательный).
/usr/X11R6/bin
Исполняемые файлы, принадлежащие системе X-Window. Часто на него имеется символьная ссылка из более привычного каталога — /usr/bin/X11.
/usr/X11R6/lib
Файлы данных, относящиеся к системе X-Window.
/usr/X11R6/lib/X11
Содержит различные файлы, необходимые для запуска X. В каталоге /usr/lib/X11 часто имеется символьная ссылка на вышеуказанный каталог.
/usr/X11R6/include/X11
Содержит заголовочные файлы для компиляции программ, использующих систему X11. Часто имеется символьная ссылка на этот каталог в каталоге /usr/include/X11.
/usr/bin
Это основной каталог для исполняемых программ. Большая часть программ, не требующихся при загрузке или для ремонта системы, не устанавливаемых локально и запускаемых обычными пользователями, должна быть помещена в этот каталог.
/usr/bin/X11
обычное место для исполняемых файлов X11; в Linux это обычно символьная ссылка на /usr/X11R6/bin.
/usr/dict
Заменён на /usr/share/dict.
/usr/doc
Заменён на /usr/share/doc.
/usr/etc
В этом каталоге можно хранить системные файлы настройки, которые могут использоваться несколькими машинами одновременно. Однако, команды должны искать эти файлы в каталоге /etc. Ссылки из каталога /etc должны указывать на соответствующие файлы в /usr/etc.
/usr/games
Исполняемые файлы игр и обучающих программ (необязательный).
/usr/include
Заголовочные файлы для компилятора C.
/usr/include/X11
Заголовочные файлы для компилятора C и системы X-Window. Как правило, это символьная ссылка на /usr/X11R6/include/X11.
/usr/include/asm
Заголовочные файлы, определяющие некоторые ассемблерные функции. Это символьная ссылка на /usr/src/linux/include/asm.
/usr/include/linux
Содержит информацию, которая может меняться от выпуска к выпуску. Это символьная ссылка на /usr/src/linux/include/linux для получения информации, предназначенной только для данной системы.

(Заметим, что необходимо иметь заголовочные файлы, корректно работающие с текущей libc и в пространстве пользователя. Однако, исходный код ядра Linux не рассчитан на включение в пользовательскую программу и ничего не знает о работающей libc. Весьма вероятно, что появятся ошибки, если /usr/include/asm и /usr/include/linux будут указывать на произвольное дерево ядра. Системы Debian не делают этого, а используют заголовочные файлы тех версий ядра, которые себя хорошо зарекомендовали. Они поставляются в пакете libc*-dev.)

/usr/include/g++
Заголовочные файлы, используемые с компилятором GNU C++.
/usr/lib
Объектные библиотеки, в том числе и динамические, а также некоторые программы, обычно не запускаемые вручную. Более сложные программы могут иметь в этом каталоге свои подкаталоги.
/usr/lib/X11
Стандартная область для файлов данных, связанных с программами X, а также для файлов настройки самой X. В Linux это обычно символьная ссылка на /usr/X11R6/lib/X11.
/usr/lib/gcc-lib
Содержит исполняемые и заголовочные файлы для компилятора GNU C, gcc(1).
/usr/lib/groff
Файлы для системы форматирования документов GNU groff.
/usr/lib/uucp
Файлы для uucp(1).
/usr/local
В этот каталог обычно помещаются программы, устанавливаемые локально.
/usr/local/bin
Исполняемые файлы программ, установленных локально.
/usr/local/doc
Локальная документация.
/usr/local/etc
Файлы настройки локально установленных программ.
/usr/local/games
Программы локально установленных игр.
/usr/local/lib
Файлы, связанные с локально установленными программами.
/usr/local/include
Заголовочные файлы для компилятора C, установленного локально.
/usr/local/info
Страницы info, относящиеся к локально установленным программам.
/usr/local/man
Справочные страницы, относящиеся к локально установленным программам.
/usr/local/sbin
Локально установленные программы для системного администрирования.
/usr/local/share
Данные локально установленных приложений, которые могут быть общими между различными архитектурами одной ОС.
/usr/local/src
Исходный код локально установленного ПО.
/usr/man
Заменён на /usr/share/man.
/usr/sbin
В этом каталоге содержатся исполняемые программы для системного администрирования, не относящиеся к процессу загрузки, монтированию /usr или восстановлению системы.
/usr/share
Этот каталог содержит подкаталоги с данными приложений, которые могут быть использованы на различных аппаратных архитектурах в одной и той же ОС. Часто, в нём содержатся данные из /usr/doc, /usr/lib или /usr/man.
/usr/share/dict
Содержит словарь для проверки орфографии.
/usr/share/doc
Документация на установленные программы.
/usr/share/games
Статические данные игр из /usr/games.
/usr/share/info
Справочные страницы в формате info.
/usr/share/locale
Информация о локали.
/usr/share/man
Справочные страницы по разделам в соответствующих подкаталогах.
/usr/share/man/<локаль>/man[1-9]
Эти каталоги содержат исходный код справочных страниц для определённой локали. Системы, в которых используется один язык и кодировочная таблица, не содержат часть <локаль>.
/usr/share/misc
Различные данные, которые могут совместно использоваться для различных архитектур одной ОС.
/usr/share/nls
Каталог сообщений на родном языке.
/usr/share/sgml
Файлы для SGML и XML.
/usr/share/terminfo
База данных для terminfo.
/usr/share/tmac
Макросы troff, не распространяемые вместе с groff.
/usr/share/zoneinfo
Файлы с информацией о часовых поясах.
/usr/src
Файлы с исходным кодом различных частей системы, которые входят в состав различных пакетов. Не используйте этот каталог для работы над своими проектами, так как файлы в подкаталогах /usr предназначены только для чтения (кроме случаев установки программного обеспечения).
/usr/src/linux
Этот каталог всегда был традиционным местоположением файлов с исходным кодом ядра. Многие дистрибутивы размещают тут исходный код используемого в системе ядра. Для сборки ядра рекомендуется использовать другой каталог.
/usr/tmp
Устарел. Должен быть ссылкой на /var/tmp. Эта ссылка оставлена только для совместимости, её не следует использовать.
/var
Каталог, содержащий файлы, размер которых может меняться, например файлы очередей и журнала.
/var/adm
Вместо этого каталога используется /var/log и он должен быть символьной ссылкой на /var/log.
/var/backups
Этот каталог зарезервирован по историческим причинам.
/var/cache
Кэшированные данные программ.
/var/catman/cat[1-9] или /var/cache/man/cat[1-9]
Эти каталоги содержат предварительно отформатированные справочные страницы в соответствии с их разделами (категорически запрещается использовать их в работе).
/var/cron
Этот каталог зарезервирован по историческим причинам.
/var/lib
Изменяемая информация о состоянии программ.
/var/local
Изменяемые данные программами из /usr/local.
/var/lock
В этом каталоге содержатся файлы блокировки. Соглашения об именах файлов, блокирующих устройства, следующие: LCK..<устройство>, где устройство — имя устройства в файловой системе. Используется формат файлов блокировки HDU UUCP, то есть файлы блокировки содержат PID в виде 10-байтного десятичного числа ASCII; после этого числа стоит символ новой строки.
/var/log
Различные файлы журналов.
/var/opt
Изменяемые данные программами из /opt.
/var/mail
Почтовые ящики пользователей. Заменяет /var/spool/mail.
/var/msgs
Этот каталог зарезервирован по историческим причинам.
/var/preserve
Этот каталог зарезервирован по историческим причинам.
/var/run
Временные файлы, создаваемые во время работы. В них содержатся идентификаторы процессов (PID) и журнал регистрации пользователей utmp. Файлы из этого каталога обычно удаляются в процессе загрузки системы.
/var/spool
Файлы, поставленные в очередь различными программами.
/var/spool/at
Очередь заданий at(1).
/var/spool/cron
Очередь заданий cron(8).
/var/spool/lpd
Файлы, отправленные в очередь для печати.
/var/spool/mail
Заменён на /var/mail.
/var/spool/mqueue
Очередь исходящей почты.
/var/spool/news
Каталог хранения новостей.
/var/spool/rwho
Хранящиеся файлы для rwhod(8).
/var/spool/smail
Хранящиеся файлы для программы доставки почты smail(1).
/var/spool/uucp
Хранящиеся файлы программы uucp(1).
/var/tmp
Как и /tmp, этот каталог содержит временные файлы, но которые могут храниться неопределённое время.
/var/yp
Файлы с базами данных для NIS.

СООТВЕТСТВИЕ СТАНДАРТАМ

Соответствует стандарту Filesystem Hierarchy Standard, версия 2.2 <http://www.pathname.com/fhs/>.

ДЕФЕКТЫ

Этот список далеко не полон; разные системы могут быть настроены различным образом.

СМОТРИТЕ ТАКЖЕ

find(1), ln(1), proc(5), mount(8)

Стандарт иерархической файловой системы

2009-03-30 Linux